package Banco;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Conexao {

    private static Connection con;

    private static String protocolo = "jdbc";
    private static String subProtocolo = "mysql";

    private static Connection Conectar(TipoConexao tipo, String servidor, String enderecoIP, String portaTCP, String nomeBanco, String usuario, String senha) throws SQLException {
        return DriverManager.getConnection(GetStringConnnection(tipo, servidor, enderecoIP, portaTCP, nomeBanco), usuario, senha);
    }

    private static String GetStringConnnection(TipoConexao tipo, String servidor, String enderecoIP, String portaTCP, String nomeBanco) {

        String stringConexao = "";
        if (tipo == TipoConexao.Servidor) {
            
            stringConexao = (protocolo + ":" + subProtocolo + "://" + servidor + ":" + portaTCP + "/" + nomeBanco);
        } else if (tipo == TipoConexao.EnderecoIP) {
            
            stringConexao = (protocolo + ":" + subProtocolo + "://" + enderecoIP + ":" + portaTCP + "/" + nomeBanco);
        }
        return stringConexao;
    }

    public static Connection getConnection(TipoConexao tipo, String servidor, String enderecoIP, String portaTCP, String nomeBanco, String usuario, String senha) throws SQLException {
        if (con == null) {
            con = Conectar(tipo, servidor, enderecoIP, portaTCP, nomeBanco, usuario, senha);
        }
        return con;
    }
}

